package com.stone.model;
// default package

import java.util.Date;
import java.util.HashSet;
import java.util.Set;

public class Stone  implements java.io.Serializable {

     /**
	 * 
	 */
	private static final long serialVersionUID = -7496884376779633391L;
	 private Long id;
     private String chineseName;
     private String englishName;
     private String sourceland;
     private String category;
     private String stoneWA;
     private String stoneBD;
     private String stoneSH;
     private String stoneMR;
     private String stoneCS;
     private String venation;
     private String level;
     private String color;
     private String material;
     private Float maxprice;
     private Float minprice;
     private Date startTime;
     private int visit;
     private String purpose;
     private String successfulCase;
     private String description;
     private String shortDesc;
     private String defaultPhoto;
     private Integer displayFlag;
     private Set<ProviderStone> providerStones = new HashSet<ProviderStone>(0);
     private Set<Photo> photos = new HashSet<Photo>(0);
     private Set<Recommend> recommends =new HashSet<Recommend>(0);
 
    public String getChineseName() {
		return chineseName;
	}

	public void setChineseName(String chineseName) {
		this.chineseName = chineseName;
	}
	
	public String getLevel() {
		return level;
	}

	public void setLevel(String level) {
		this.level = level;
	}

	public String getEnglishName() {
		return englishName;
	}

	public void setEnglishName(String englishName) {
		this.englishName = englishName;
	}

	public Long getId() {
		return id;
	}

	public void setId(Long id) {
		this.id = id;
	}
    public String getSourceland() {
        return this.sourceland;
    }
    
    public void setSourceland(String sourceland) {
        this.sourceland = sourceland;
    }

    public String getCategory() {
        return this.category;
    }
    
    public void setCategory(String category) {
        this.category = category;
    }

    public String getStoneWA() {
		return stoneWA;
	}

	public void setStoneWA(String stoneWA) {
		this.stoneWA = stoneWA;
	}

	public String getStoneBD() {
		return stoneBD;
	}

	public void setStoneBD(String stoneBD) {
		this.stoneBD = stoneBD;
	}

	public String getStoneSH() {
		return stoneSH;
	}

	public void setStoneSH(String stoneSH) {
		this.stoneSH = stoneSH;
	}

	public String getStoneMR() {
		return stoneMR;
	}

	public void setStoneMR(String stoneMR) {
		this.stoneMR = stoneMR;
	}

	public String getStoneCS() {
		return stoneCS;
	}

	public void setStoneCS(String stoneCS) {
		this.stoneCS = stoneCS;
	}

	public String getVenation() {
        return this.venation;
    }
    
    public void setVenation(String venation) {
        this.venation = venation;
    }

    public String getMaterial() {
		return material;
	}

	public void setMaterial(String material) {
		this.material = material;
	}

	public String getColor() {
        return this.color;
    }
    
    public void setColor(String color) {
        this.color = color;
    }
	public Float getMaxprice() {
		return maxprice;
	}

	public void setMaxprice(Float maxprice) {
		this.maxprice = maxprice;
	}

	public Float getMinprice() {
		return minprice;
	}

	public void setMinprice(Float minprice) {
		this.minprice = minprice;
	}
 
	public String getPurpose() {
		return purpose;
	}

	public void setPurpose(String purpose) {
		this.purpose = purpose;
	}

	public String getSuccessfulCase() {
		return successfulCase;
	}

	public void setSuccessfulCase(String successfulCase) {
		this.successfulCase = successfulCase;
	}

	public String getDescription() {
		return description;
	}

	public void setDescription(String description) {
		this.description = description;
	}

	public Set<ProviderStone> getProviderStones() {
		return providerStones;
	}

	public void setProviderStones(Set<ProviderStone> providerStones) {
		this.providerStones = providerStones;
	}

	public Set<Photo> getPhotos() {
		return photos;
	}

	public void setPhotos(Set<Photo> photos) {
		this.photos = photos;
	}
 
	public Set<Recommend> getRecommends() {
		return recommends;
	}

	public void setRecommends(Set<Recommend> recommends) {
		this.recommends = recommends;
	}

	public Date getStartTime() {
		return startTime;
	}

	public void setStartTime(Date startTime) {
		this.startTime = startTime;
	}
	public int getVisit() {
		return visit;
	}
	public void setVisit(int visit) {
		this.visit = visit;
	}

	public String getShortDesc() {
		return shortDesc;
	}

	public void setShortDesc(String shortDesc) {
		this.shortDesc = shortDesc;
	}

	public String getDefaultPhoto() {
		return defaultPhoto;
	}
	
	public void setDefaultPhoto(String defaultPhoto) {
		this.defaultPhoto = defaultPhoto;
	}
	
	public Integer getDisplayFlag() {
		return displayFlag;
	}

	public void setDisplayFlag(Integer displayFlag) {
		this.displayFlag = displayFlag;
	}

	@Override
	public boolean equals(Object o) {
		if( o instanceof Stone){
			Stone s = (Stone) o;
			if(this.id.equals(s.getId())){
				return true;
			}
		}else{ 
			return false;
		}
		return false;
	}
	
	@Override
	public int hashCode() {
		int base = 37;
		return base*5+getId().hashCode();
	}
}